(1) Field of the Invention
The present invention relates to a method and apparatus for the development of a control program. More particularly, the present invention relates to a method and apparatus capable of developing newly and efficiently a control program for a computer for a control unit not provided with a program development-supporting tool for checking a newly prepared control program.
(2) Description of the Related Art
Recently, micro-computers are frequently used for various control devices of automobiles, and especially in an engine control apparatus. In order to improve engine performances, a complicated logic program is executed by a micro-computer to control the fuel supply quantity and the ignition timing.
In forming a program for the control by the micro-computer, use of a high-level language which is a programming language having a structure relatively close to the structure of the human language, such as C, FORTRAN, PASCAL, COBOL or PL/I, is considered advantageous, because the burden on a programmer is reduced and the number of errors can be decreased. Namely, in the case of assembler language, which is closer to machine language than high-level languages, the flow of the program can hardly be checked unless a flow chart is drawn for facilitation. In contrast, in the case of high-level language, since the structured design is often adopted, the flow of the program can be easily checked and an error can be easily found. Accordingly, programming using a high-level language is considered desirable.
Furthermore, a program can be efficiently developed by using, instead of a micro-computer to be developed, which is assembled in a product based on a machine language translated from a program of a high-level language by a compiler, an emulator. The emulator performs an equivalent operation and checks the content of the operation based on the high-level language.
However, when a high-performance CPU is newly developed, development of a high-level language corresponding to this CPU is generally deferred and in an extreme case, the development of a high-level language is not undertaken at all. Accordingly, even if a high-performance CPU is developed, in order to develop a new control program by this CPU, it is necessary to write the control program in an assembler language, with the result that the burden on a programmer increases and the error occurrence rate increases. Therefore, the number of steps for developing the control program increases. Hence , it is desired that programming with a high-level language will become possible even for newly developed CPUs. Moreover, it often happens that even the above-mentioned emulator fails to cope with new CPU, making it difficult to develop a program efficiently.